package cn.coisini.model.common.exception;

import cn.coisini.model.common.dtos.Result;
import cn.coisini.model.common.enums.ResultEnum;
import lombok.extern.log4j.Log4j2;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @author xiangshaw
 * Description: 全局异常处理
 */
// 控制器增强
@RestControllerAdvice
//记录日志信息
@Log4j2
public class GlobalExceptionHandler {
    // 指定要拦截的类型注解,这里指定拦截所有错误，都需经过此处
    @ExceptionHandler(Exception.class)
    public Result<String> exception(Exception e) {
        // 拿到错误信息，记录日志
        log.error("catch exception:{}",e.getMessage(),e);
       // 返回通用异常信息
        return Result.error(ResultEnum.FAIL);
   }
}
